#pragma once
#include <iostream>
#include <fcntl.h>
#include <unistd.h>

void SetNonBlock(int fd) {
    // 使用F_GETFL将当前文件描述符的属性取出来（f1当前可以将其看作为位图）
    int f1 = fcntl(fd, F_GETFL);
    if (f1 < 0) {
        std::cout << "SetNonBLock Fail" << std::endl;
        return;
    }
    // 然后使用F_SETFL将文件描述符设置回去，设置回去的同时，加上一个O_NONBLOCK参数
    fcntl(fd, F_SETFL, f1 | O_NONBLOCK);
}